package com.yourenbang.lingyun.transaction.web.service.pay;

import com.yourenbang.lingyun.core.message.Result;
import com.yourenbang.lingyun.transaction.web.domain.dto.pay.app.AppPayDTO;
import com.yourenbang.lingyun.transaction.web.domain.dto.pay.app.ToPupDTO;
import com.yourenbang.lingyun.transaction.web.domain.vo.pay.AppPayVO;
import com.yourenbang.lingyun.transaction.web.domain.vo.pay.ToPupVO;
import com.yourenbang.transaction.api.model.dto.pay.TradeQueryDTO;
import com.yourenbang.transaction.api.model.dto.pay.TradeRefundDTO;

import java.util.Map;

public interface PayService {

    /**
     * app支付
     */
    AppPayVO appPay(AppPayDTO dto);

    /**
     * 微信通知
     */
    void wechatNotify(String param);

    /**
     * 支付宝通知
     */
    void aliNotify(Map<String, String[]> requestParams);

    /**
     * 充值
     */
    ToPupVO createToPupOrder(ToPupDTO dto);

    /**
     * 查询是否支付成功
     */
    Boolean tradeQuery(TradeQueryDTO queryDTO);

    /**
     * 支付宝退款
     */
    Result aliTradeRefund(TradeRefundDTO refundDTO);

}
